package com.wang.test.demo.algorithm;

public class PrimeNumber {

    //素数
    public static void main(String[] args) {
        int count = 0;
        for (int x = 2; x < 100; x++) {
            boolean flag = true;
            for (int y = 2; y < x;y++) {
                if (x % y == 0) {
                    flag = false;
                    break;
                }
            }
            if (flag) {
                System.out.println(x);
                count++;
            }
        }
//        System.out.println(count);
//        for (int x = 2; x < 100; x++) {
//            int count = 0;
//            for (int y = 2; y < x; y++) {
//                if (x % y == 0) {
//                    count++;
//                }
//            }
//            if (count == 0) {
//                System.out.println(x);
//            }
//        }
//        System.out.println(2);
//        a:
//        for (int x = 3; x < 100; x += 2) {
//            for (int y = 3; y <= Math.sqrt(x); y += 2) {
//                if (x % y == 0) {
//                    continue a;//本来是结束本次循环,这里加了标签,直接结束本次最外边的for循环
//                }
//
//            }
//            System.out.println(x);
//        }
        //思路2
        //先得到2-100之间所有的数字
        //再得到这个数字x需要%的数字[2到x-1]
        //如何发现2到x-1之间有一个数字可以被x整除
        //说明x不是质数 那么应该跳过 看下一个数字x
        //比如x = 9 本来应该拿着9%[2-8]
        //但是当我们拿着9%3就已经和0相等 说明除了1和9之外
        //还有一个数字3可以被9整除 说明9不是质数
        //那么就没有必要拿着9继续%[4-8] 直接换成10这个数字就可以
        /**
         x = 8 % [2-7]

         8 % 2 == 0		1 8 2

         x = 9 % [2-8]
         9 % 2 == 0
         9 % 3 == 0		1 9 3

         x = 10 % [2-9]
         10 % 2 == 0		1 10 2

         x = 11 % [2-10]


         */
//        a:for(int x = 2;x <= 100;x++){
//            for(int y = 2;y < x;y++){
//                if(x % y == 0){
//                    continue a;
//                }
//            }//该%的数字都已经%完
//            System.out.println(x);
//        }

    }


}
